Option Explicit

Public Sub main()
    Dim wb As Workbook
    Set wb = ActiveWorkbook

    Dim form As VBComponent
    Set form = wb.VBProject.VBComponents.Item("RangeToMdTableForm")

    ' ==================================================
    ' 1. 设置 form 的属性
    ' ==================================================
    With form
        .Properties("Height") = 303
        .Properties("Width") = 371
        .Properties("Caption") = "RangeToMdTable"
    End With

    Dim ctrs As Controls
    Set ctrs = form.Designer.Controls

    ' ==================================================
    ' 2. 第一行
    ' ==================================================
    ' 1. 设置 range -- 选中范围输入框标题
    UtilsControl.createLabel ctrs, "rangeLabel", _
        18, 42, 12, 18, caption:="Range", fontSize:=11

    '    range 区域选择框
    UtilsControl.createRefEdit ctrs, "rangeBox", _
        24, 294, 48, 12, _
        fontSize:=12, tabIndex:=1

    ' ==================================================
    ' 3. 第二行
    ' ==================================================
    ' 1. secondIsSplitRow -- 第二行是否是分割行
    UtilsControl.createCheckBox ctrs, "secondIsSplitRowCheckbox", _
        24, 115, 12, 42, _
        caption:="secondIsSplitRow", value:=False, tabIndex:=2

    ' 2. lineBreak -- 换行符选择的标题
    UtilsControl.createLabel ctrs, "lineBreakLabel", _
        18, 54, 162, 48, caption:="lineBreak", fontSize:=11

    ' 3. lineBreak-Lf 的 radio 按钮
    UtilsControl.createOptionButton ctrs, "lineBreakLf", _
        26, 66, 222, 42, caption:="Lf", fontSize:=10, tabIndex:=3, _
        groupName:="lineBreak"

    ' ==================================================
    ' 4. 第三行
    ' ==================================================
    ' 1. 设置 range -- 选中范围输入框标题
    UtilsControl.createLabel ctrs, "markdownTableLabel", _
        18, 96, 12, 72, caption:="markdown Table", fontSize:=11

    ' 2. lineBreak-CrLf 的 radio 按钮
    UtilsControl.createOptionButton ctrs, "lineBreakCrLf", _
        26, 67, 222, 66, caption:="CrLf", fontSize:=10, tabIndex:=4, _
        groupName:="lineBreak", value:=True

    ' ==================================================
    ' 5. 第四行
    ' ==================================================
    ' 1. markdown Table 输入框/显示框
    UtilsControl.createTextBox ctrs, "mdTableInput", _
        138, 330, 18, 96, _
        fontSize:=10, multiLine:=True, tabIndex:=5

    ' ==================================================
    ' 6. 第五行
    ' ==================================================
    ' 1. 按钮: 转换并写出到活动 sheet
    UtilsControl.createButton ctrs, "createMdTableBtn", _
        24, 84, 264, 240, _
        caption:="createMdTable", fontSize:=10, tabIndex:=6
End Sub
